// pages/login/login.js
Page({

    /**
     * 页面的初始数据
     */
    data: {
        phone: 18244474425,
        code: undefined,
        countdown: undefined,
        timer: null, // 定时器
        // time: 5 * 1000,
        formatText: '获取验证码',
        style: 'code',
        // timeData: {},
    },
    async getCode(){
        // 验证手机号是否为中国大陆手机号
        if (!(/^1[3456789]\d{9}$/.test(this.data.phone))) {
            wx.showToast({
                title: '请输入正确的手机号',
                icon: 'none'
            }
        )
        }else{
            let {data:{data:{code}}} = await wx.http.get('/code',{
                mobile: String(this.data.phone)
            })
            if (this.data.countdown > 0) {
                return;
            }
            this.startCountdown()
            this.setData({
                code
            })
            //         // 设置formatText的值
            // const countDown = this.selectComponent('.control-count-down');
            // countDown.start();
        }
    },
    startCountdown() {
 

        // 设置倒计时时间为60秒
        this.setData({
          countdown: 60,
          formatText: '秒后重新获取',
          style:'code-click'
        });
  
        // 定时器每秒减1
        this.data.timer = setInterval(() => {
          const { countdown } = this.data;
  
          // 如果倒计时已经结束，清除定时器
          if (countdown <= 0) {
            clearInterval(this.data.timer);
            this.setData({
              countdown: '',
              formatText: '获取验证码',
            });
            return;
          }
  
          // 倒计时减1
          this.setData({
            countdown: countdown - 1,
          });
        }, 1000);
     },
    onChange(e) {
        this.setData({
          timeData: e.detail,
        });
    },
    finished(){
        console.log('倒计时结束')
        const countDown = this.selectComponent('.control-count-down');
        countDown.reset();
        this.setData({
            formatText: '获取验证码'
        })
    },
    handleInput(e){
        this.setData({
            phone: e.detail,
        })  
    },
    handleInput2(e){
        this.setData({
            code: e.detail
        })  
    },
    async handleLogin(){
        // 验证手机号是否为中国大陆手机号
        if (!(/^1[3456789]\d{9}$/.test(this.data.phone))) {
            wx.showToast({
                title: '请输入正确的手机号',
                icon: 'none'
            }
        )
        }else if(!this.data.code){
            wx.showToast({
                title: '请先获取验证码',
                icon: 'none'
            }
        )
        }else{
            // 登录
            let {data} = await wx.http.post('/login',{
                mobile: String(this.data.phone),
                code: String(this.data.code)
            })
            // 跳转到个人信息页面
            if (data.message === '操作成功') {
                wx.showToast({
                    title: '登录成功',
                    icon: 'success',
                    duration: 2000,
                    mask: true
                })
                // 将token存储到本地
                wx.setStorageSync('token', data.data.token)
                // 将token存储到全局
                getApp().globalData.token = data.data.token
                setTimeout(() => {
                    // 跳转到上一个页面
                    wx.navigateBack({
                        delta: 1
                    })
                }, 500)
                          
            }else{
                wx.showToast({
                    title: '登录失败',
                    icon: 'error'
                })
            }
        }

    },
    /**
     * 生命周期函数--监听页面加载
     */
    onLoad(options) {

    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady() {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow() {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide() {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload() {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh() {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom() {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage() {

    }
})